package be.atc.phh.servlets;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import be.atc.antoine.beans.AnneeScolaire;
import be.atc.antoine.beans.Calendrier;
import be.atc.antoine.beans.Horaire;
import be.atc.antoine.beans.LibelleVacance;
import be.atc.antoine.beans.Local;
import be.atc.antoine.beans.SectionSecteur;
import be.atc.antoine.beans.UF;
import be.atc.antoine.beans.UFOrga;
import be.atc.antoine.beans.Vacance;
import be.atc.antoine.modelAnneeScolaire.ModelAnneeScolaire;
import be.atc.antoine.modelHoraire.ModelHoraire;
import be.atc.antoine.modelLibelleVacance.ModelLibelleVacance;
import be.atc.antoine.modelLocal.ModelLocal;
import be.atc.antoine.modelSectionSecteur.ModelSectionSecteur;
import be.atc.antoine.modelVacance.ModelVacance;
import be.atc.ferrari.beans.Professeur;
import be.atc.ferrari.modelProfesseur.ModelProfesseur;
import be.atc.phh.beans.ListeUfOrgaDateEtNom;
import be.atc.phh.beans.VueSectionAnneeAvecSectionSecteur;
import be.atc.phh.models.ModelCalendrier;
import be.atc.phh.models.ModelListeUfOrgaDateEtNom;
import be.atc.phh.models.ModelUF;
import be.atc.phh.models.ModelUFOrga;
import be.atc.phh.models.ModelVueSectionAnneeAvecSectionSecteur;

/**
 * Servlet implementation class InitAppServlet
 */
@WebServlet("/InitAppServlet")
public class InitAppServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public InitAppServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//Initialisation dans l'application des listes le plus souvents utilisées

		ServletContext servletContext=getServletContext();
		
    	/* ############		Conge		############ */
		List<Calendrier> cal =  ModelCalendrier.trouverAllCal();
		List<Calendrier> dateAnneScolaire = ModelCalendrier.trouverCalendrierScolaire();
		List<Professeur> prof = ModelProfesseur.trouverAllProf();
		List<Local> local = ModelLocal.trouverAllLocal();
		List <VueSectionAnneeAvecSectionSecteur> listselectionannee = ModelVueSectionAnneeAvecSectionSecteur.trouverAllSectionAnnee();
		
		//List<ListeUfOrgaDateEtNom>  listUfOrga = ModelListeUfOrgaDateEtNom.trouverAllListUfOrga();
		List<Calendrier>  congescol=ModelCalendrier.trouverAllConge();
		
		/* ############		Année scolaire		############ */
		List<Calendrier> dateInOut = ModelCalendrier.trouverDateinOut();
		List<Vacance> listVacance = ModelVacance.trouverAllVacance();
		
		/* ############		Section secteur		############ */
		List<SectionSecteur> listeSecteur=ModelSectionSecteur.trouverAllSectionSecteur();
		
		/* ############		Conge scolaire		############ */
		List<LibelleVacance> listeLibVac=ModelLibelleVacance.trouverAllLibelleVacance();
		List<AnneeScolaire> listeAnSco=ModelAnneeScolaire.trouverAllAnneeScolaire();
		
		/* ############		Horaire		############ */
		List<Horaire> horaire = ModelHoraire.trouverAllHoraire();
		
		/* ############		UF		############ */
		List<UF> uf = ModelUF.trouverAllUF();
		List<UFOrga> uforga = ModelUFOrga.trouverAllUFOrga();
		
		servletContext.setAttribute("uf", uf);
		servletContext.setAttribute("uforga", uforga); 
		servletContext.setAttribute("horaire", horaire); 
		servletContext.setAttribute("congescol", congescol); 
		servletContext.setAttribute("dateInOut", dateInOut); 
		servletContext.setAttribute("cal", cal);
		servletContext.setAttribute("dateAnneScolaire", dateAnneScolaire);
		servletContext.setAttribute("prof", prof);
		servletContext.setAttribute("local", local);
		servletContext.setAttribute("listVacance", listVacance);
		HttpSession session=request.getSession();
		//session.getAttribute()     
		session.setAttribute("listselectionannee", listselectionannee);
		
		session.setAttribute("listeSecteur", listeSecteur);
		session.setAttribute("listeLibVac", listeLibVac);
		session.setAttribute("listeAnSco", listeAnSco);

		//servletContext.setAttribute("listUfOrga", listUfOrga); 

		
		this.getServletContext().getRequestDispatcher( "/JSP/accueil.jsp" ).forward( request, response );
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

}
